The present disclosure relates generally to software management and more particularly to enabling web applications with on-demand code version switching.
Web applications may be considered client-server software where a portion of the web application code executes on a server (server-side application) and a portion of the web application code executes on a client (client-side application). Machines on the Web may be categorized as two types: servers and clients. A server machine may provide one or more services on the Web. A client machine may use the services provided by the server machine. For example, a server machine might execute software that allows it to act as a web server, an e-mail server, and a file transfer protocol (FTP) server. A client machine may connect to the Web or execute an application from the Web. For example, the client machine may view web pages, check e-mail, or retrieve files from the server machine. Client machines, hereinafter “client”, may download client-side application software, from the server machine, using standard procedures such as Hypertext Transfer Protocol (HTTP), when the client visits a web page.
Client-side applications are web application software that execute in a client web browser and may be written in a browser-supported programming language such as JavaScript, HyperText Markup Language (HTML), and Cascading Style Sheets (CSS), and rely on a common web browser to render the application. Client-side applications may change content depending on client input and environmental conditions, such as the time of day.
Client-side application code may be hosted on the server machine and delivered to the client either embedded in the HTML of a delivered web page or as separate, linked downloads specified in the HTML. A web application can be as simple as a message board on a website, or as complex as a word processor.
Clients may execute client-side applications that interface with the server machine and may direct requests to specific server software on the server machine. The client-side applications typically focus on the presentation of information while the servers typically focus on storing and retrieving information.